package com.rzjm.api.service;

import com.rzjm.api.entity.*;

import java.util.List;


/**
 *  模板消息
 *
 * @author mr.zhou
 * @email zhouwei_nice@163.com
 * @date 2020-12-15 22:36:23
 */
public interface WxTemplateService extends BaseService<WxTemplate> {

    /**
     * 设备离线提醒
     * @param device
     */
    int sendWxMsgOffline(Device device,String accessToken);

    /**
     * 电焊机使用推送给安全员
     * @param record
     * @param device
     */
    void sendWxMsgUseDeviceReg(DeviceWeldingRecord record, DeviceWelding device,FireWork fireWork, int isSafe);


    /**
     * 电焊机使用推送给生产经理
     * @param record
     * @param device
     */
    void sendWxMsgUseDeviceToProduceManager(DeviceWeldingRecord record, DeviceWelding device,FireWork fireWork, int isSafe);


    void sendWxMsgUseFireWorkToProduceManager(FireWork fireWork);


    /**
     * 电焊机使用推送给片区经理
     * @param record
     * @param device
     */
    void sendWxMsgUseDeviceToPianqu(DeviceWeldingRecord record, DeviceWelding device);


    /**
     * 作业票推送给安全员
     * @param fireWork
     */
    void sendWxMsgFireworkToSafe(FireWork fireWork);


    /**
     *  申请作业票推送 推给焊工
     * @param fireWork
     * @param wxWorkerUserId
     */
    void sendWxMsgRegFireWork(FireWork fireWork, List<Integer> wxWorkerUserId);

    /**
     *  作业票推送
     * @param fireWork
     */
    void sendWxMsgFireWorkCheck(FireWork fireWork);

    /**
     * 烟雾报警推送消息
     * @param smokeAlarmInfo
     */
    void sendWxMsgSmokeWarning(SmokeAlarmInfo smokeAlarmInfo);

    /**
     * 重置AccessToken
     * @param appId
     * @param secret
     * @return
     */
    String getAccessToken(String appId, String secret, int type);

    /**
     * 车辆预约成功推送消息
     * @param pickUpRecord
     */
    void sendWxMsgCarYuyue(PickUpRecord pickUpRecord);
}
